import { vi } from 'vitest';

export class ElectronFiddleMock {
  public addEventListener = vi.fn();
  public addModules = vi.fn();
  public arch = process.arch;
  public blockAccelerators = vi.fn();
  public cleanupDirectory = vi.fn();
  public confirmQuit = vi.fn();
  public createThemeFile = vi.fn();
  public deleteUserData = vi.fn();
  public downloadVersion = vi.fn();
  public fetchVersions = vi.fn();
  public getAvailableThemes = vi.fn();
  public getElectronTypes = vi.fn();
  public getIsPackageManagerInstalled = vi.fn();
  public getLatestStable = vi.fn();
  public getLocalVersionState = vi.fn();
  public getNodeTypes = vi.fn();
  public getOldestSupportedMajor = vi.fn();
  public getReleaseInfo = vi.fn();
  public getReleasedVersions = vi.fn();
  public getTemplate = vi.fn();
  public getTemplateValues = vi.fn();
  public getTestTemplate = vi.fn();
  public isReleasedMajor = vi.fn();
  public getProjectName = vi.fn();
  public getUsername = vi.fn();
  public getVersionState = vi.fn();
  public macTitlebarClicked = vi.fn();
  public onGetFiles = vi.fn();
  public openThemeFolder = vi.fn();
  public packageRun = vi.fn();
  public platform = process.platform;
  public pushOutputEntry = vi.fn();
  public reloadWindows = vi.fn();
  public removeAllListeners = vi.fn();
  public removeVersion = vi.fn();
  public saveFilesToTemp = vi.fn();
  public selectLocalVersion = vi.fn();
  public sendReady = vi.fn();
  public setNativeTheme = vi.fn();
  public setShowMeTemplate = vi.fn();
  public showWarningDialog = vi.fn();
  public showWindow = vi.fn();
  public startFiddle = vi.fn();
  public stopFiddle = vi.fn();
  public taskDone = vi.fn();
  public readThemeFile = vi.fn();
  public themePath = '~/.electron-fiddle/themes';
  public uncacheTypes = vi.fn();
  public unwatchElectronTypes = vi.fn();
}
